Skip to content

Fraud Alert Validation Service#32

Open
nathjaco1016 wants to merge 17 commits intoautomationExamples:mainfrom
nathjaco1016:main
Open

Fraud Alert Validation Service#32
nathjaco1016 wants to merge 17 commits intoautomationExamples:mainfrom
nathjaco1016:main

Conversation

@nathjaco1016
Copy link
Copy Markdown

Summary

This project is essentially a REST API for storing fraud alerts, enforcing lifecycle transitions, and properly handling customer data to comply with Ally's PII sensitivity principles.
I put everything in fraud-alert-service to keep the project separated from the given spec-driven-dev environment.

Specs

I created specs for transactions (CRUD for records with field validation), alerts, state machine, PII masking, filtering, and summary stats.

Tech Stack

I used FastAPI, Pydantic v2, SQLite, and pytest + httpx.

Test Coverage

142 tests across 6 test files, each corresponding to a spec.

Spec Driven Development

I have experience with spec driven development, so I essentially just used my standard workflow where I broke down my project into specs and wrote these out myself, used Claude to review these and enhance them if necessary (it's good at finding edge cases and such that I may have missed), then I added actionable TODO tasks before implementation.

Code Gen Tool Used

I used Claude as my primary code generation tool.

…, wrote specs for the transaction endpoints + tests for fraud alerts.

Also added .claude/settings.json to create gaurdrails to keep claude within a defined set of behavior that I use for all my projects.
…erly define how transactions will work. I will fully implement pii masking later on in the project.
…ing. We will revisit GET /alerts masking after we finish the filtering functionality in the future.
…g fraud alerts. Wrote tests and ensured that they pass.
…s. I also added a new README.md to explain the project and how to run/test it. Made final changes to tests to ensure that they are specific and understandable. Modified the git ignore so that the db I was testing with won't be included in the PR. I also tested via the docs thoroughly to make sure everything works well.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant